package com.qinghe.pro.service.main;

import java.util.Map;

import com.qinghe.pro.entity.main.User;

public interface UserService {

	/**
	 * 根据id查找用户详细信息
	 * 
	 * @param id
	 * 
	 * @return User
	 * @author longfei
	 */
	User findById(Integer id);

	/**
	 * 根据用户名查找用户信息
	 * 
	 * @param username
	 * 
	 * @return User
	 * @author longfei
	 */
	User findByUsername(String username);

	/**
	 * 新增用户信息
	 * 
	 * @param user
	 * 
	 * @return
	 * @author longfei
	 */
	void insert(User user);

	/**
	 * 修改用户信息
	 * 
	 * @param user
	 * 
	 * @return
	 * @author longfei
	 */
	void update(User user);

	/**
	 * 修改用户状态
	 * 
	 * @param userId
	 * @param status
	 * 
	 * @return
	 * @author longfei
	 */
	void updateStatus(Integer userId, Integer status);

	/**
	 * 根据id删除用户信息
	 * 
	 * @param id
	 * 
	 * @return
	 * @author longfei
	 */
	void delete(Integer id);

	/**
	 * 统计角色的人员数量
	 * 
	 * @return Map<String, Integer>
	 */
	Map<String, Integer> countByRole();

}
